package com.yami.shop.delivery.common.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yami.shop.bean.app.dto.ShopCartItemDto;
import com.yami.shop.bean.model.UserAddr;
import com.yami.shop.delivery.common.model.SameCity;

import java.util.List;

/**
 *
 *
 * @author lhd
 * @date 2020-05-23 08:26:25
 */
public interface SameCityService extends IService<SameCity> {

    /**
     * 计算同城配送运费
     *
     * @param productItem 商品列表
     * @param userAddr    用户地址
     * @return 运费金额
     */
    Double calculateTransFee(List<ShopCartItemDto> productItem, UserAddr userAddr);


    /**
     * 根据商家id获取同城配送信息
     *
     * @param shopId 商家id
     * @return 同城配送信息
     */
    SameCity getSameCityByShopId(Long shopId);

    /**
     * 根据商家id移除同城配送信息
     *
     * @param shopId 商家id
     */
    void removeSameCityByShopId(Long shopId);

    /**
     * 保存同城配送设置
     * @param sameCity
     */
    void saveSameCity(SameCity sameCity);

    /**
     * 清除缓存
     * @param shopId
     */
    void removeCache(Long shopId);
}
